/*
 * Robot12API.h
 *
 *  Created on: 17/11/2013
 *      Author: gonzalo
 */

#ifndef ROBOT12API_H_
#define ROBOT12API_H_

#include "../middleware/MiddlewareCommon.h"
#include "../middleware/CommunicationRobot12.h"
#include "../middleware/CommunicationRobot11.h"
#include "../middleware/CommunicationPrimerCinta.h"
#include "../middleware/CommunicationCanastos.h"
#include "../middleware/CommunicationAGV.h"
#include "../common/StringUtils.h"
#include "../logger/logger.h"
#include "MapaPiezasProducto.h"
#include "AdminKeys.h"
#include <cstdlib>

class Robot12API {
public:
	Robot12API(AdminKeys adminKeys, string hostName);
	Producto obtenerProducto();
	void procesarProducto(Producto prod);
	virtual ~Robot12API();
private:
	middleware::CommunicationRobot12 *comRobot12;
	middleware::CommunicationRobot11 *comRobot11;
	middleware::CommunicationAGV *comAgv;
	middleware::CommunicationPrimerCinta *comCinta;
	middleware::CommunicationCanastos *comCanastos;
	PedidoPiezas buildPedidoPiezas(TipoPieza pieza);
};

#endif /* ROBOT12API_H_ */
